Data storage systems are arrangements of hardware and software that include one or more storage processors coupled to arrays of non-volatile storage devices, such as magnetic disk drives, electronic flash drives, and/or optical drives, for example. The storage processors service storage requests, arriving from host machines (“hosts”), which specify files or other data elements to be written, read, created, or deleted, for example. Software running on the storage processors manages incoming storage requests and performs various data processing tasks to organize and secure the data elements stored on the non-volatile storage devices.
Data storage systems often provide non-volatile storage in the form of RAID groups. RAID is an acronym for Redundant Array of Independent (or Inexpensive) Disks. RAID groups providing redundant storage may employ mirroring of data across multiple disk drives (e.g., RAID 1) and/or may employ parity (e.g. RAID 3, 4, 5, or 6). As is known, parity provides a way to reconstruct data from any failed disk drive by performing computations on data from still-functioning disk drives in a RAID group.
Many data storage systems include spare disk drives in the event that any disk drive in a RAID group fails. When a disk drive failure occurs, a data storage system may logically swap a spare drive in place of the failing drive and use RAID relationships to rebuild data that was previously stored on the failed drive onto the spare. Such spare disk drives may be plugged into the data storage system and kept in a powered state, such that they may be logically swapped in to replace failed disk drives without undue delay.